#coding=utf-8
import os,sys,time

import telnetlib  
import signal


#select.select()
# r, w, e = select.select([sock, sys.stdin,], [], [] )  windows下不支持sys.stdin
"""
Telnet远程登录：Windows客户端连接Linux服务器
echo $PS1

export PS1=abc

su - oracle


uudecode   

/usr/bin/uudecode   解码

/usr/bin/uuencode -m  <<EO
wo
EO

compress 

"""

def signal_do(signum, frame):
    u" 信号处理 "
    print "signal is ",signum
    #print frame
    print "signal_do end"
    sys.exit()
signal.signal(signal.SIGINT,signal_do)  #2
signal.signal(signal.SIGTERM,signal_do)   # 15
print 'sleep'
#time.sleep(100)

def hp():
    """ 帮助函数"""
    help(  telnetlib.Telnet  ) 
    sys.exit()
    
#hp()
def test():
    
    sys.exit()
    
#test()    
    
# 配置选项
Host = '60.190.25.91' # Telnet服务器IP   expect
hostport = 2223
username = 'root'   # 登录用户名
password = 'oracle'  # 登录密码
finish = '^#'      # 命令提示符（标识着上一条命令已执行完毕）

   
# 连接Telnet服务器
print 'telnetlib.Telnet' 
tn = telnetlib.Telnet(Host,hostport)

# 输入登录用户名
tn.read_until('login: ')   #就是一个普通查找
tn.write(username + '\n')

# 输入登录密码
tn.read_until('Password: ')
tn.write(password + '\n')

# 登录完毕后，执行ls命令
tn.read_until(finish)


usercmd = raw_input('usercmd:')
print 'usercmd=' ,usercmd

tn.write(usercmd + '\n' )

# ls命令执行完毕后，终止Telnet连接（或输入exit退出）
print tn.read_until(finish)  

 

tn.write('exit\n')
tn.close() 

